package com.hzz.dto.river;

import java.util.Date;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("一河一策 DTO")
public class RiverPolicyDto extends BaseDto {
	/** id */
	Long id;
	/** 河道ID */
	@ApiModelProperty("河道ID")
	@NotNull(message = "riverId不能为空")
	Long riverId;
	/** 文件名称 */
	@ApiModelProperty("文件名称")
	@NotNull(message = "name不能为空")
	@Size(max = 55, message = "name最大55字符")
	String name;
	/** 文件路径 */
	@ApiModelProperty("文件路径")
	@Size(max = 128, message = "path最大64字符")
	String path;
	/** 文件类型(1整治方案；2应急预案) */
	@ApiModelProperty("文件类型(1整治方案；2应急预案)")
	Integer type;
	/** 备注 */
	@Size(max = 255, message = "memo最大255字符")
	String memo;
	/** 删除标记 */
	Integer delFlag;
	/** 建立者id */
	Long createId;
	/** 更新时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	Date dateUpdated;
	/** 创建时间 */
	@ApiModelProperty("上传时间")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	Date dateCreated;
	/**
	 * 河道名称(非表字段)
	 */
	String riverName;
	/**
	 * 创建人(非表字段)
	 */
	@ApiModelProperty("上传人")
	String createName;
}
